Fix up interaction with triggeragents by allowing a message param

Daniel O'Connor 10 anni fa
parent
commit
6ed4f5ab67

+ 11 - 9
app/models/agents/google_calendar_publish_agent.rb

@@ -41,14 +41,16 @@ module Agents
41 41
 
42 42
       Example payload for trigger agent:
43 43
       <pre><code>{
44
-        'visibility' => 'default',
45
-        'summary' => "Awesome event",
46
-        'description' => "An example event with text. Pro tip: DateTimes are in RFC3339",
47
-        'start' => {
48
-          'dateTime' => '2014-10-02T10:00:00-05:00'
49
-        },
50
-        'end' => {
51
-          'dateTime' => '2014-10-02T11:00:00-05:00'
44
+        "message": {
45
+          "visibility": "default",
46
+          "summary": "Awesome event",
47
+          "description": "An example event with text. Pro tip: DateTimes are in RFC3339",
48
+          "start": {
49
+            "dateTime": "2014-10-02T10:00:00-05:00"
50
+          },
51
+          "end": {
52
+            "dateTime": "2014-10-02T11:00:00-05:00"
53
+          }
52 54
         }
53 55
       }</code></pre>
54 56
     MD
@@ -89,7 +91,7 @@ module Agents
89 91
      incoming_events.each do |event|
90 92
         calendar = GoogleCalendar.new(options, Rails.logger)
91 93
 
92
-        calendar_event = JSON.parse(calendar.publish_as(options['calendar_id'], event.payload).response.body)
94
+        calendar_event = JSON.parse(calendar.publish_as(options['calendar_id'], event.payload["message"]).response.body)
93 95
   
94 96
         create_event :payload => {
95 97
           'success' => true,

+ 13 - 12
spec/models/agents/google_calendar_publish_agent_spec.rb

@@ -5,7 +5,6 @@ describe Agents::GoogleCalendarPublishAgent, :vcr do
5 5
 		@valid_params = {
6 6
         'expected_update_period_in_days' => "10",
7 7
         'calendar_id' => 'sqv39gj35tc837gdns1g4d81cg@group.calendar.google.com',
8
-        'message' => "{{text}}",
9 8
         'google' => {
10 9
           'key_file' => File.dirname(__FILE__) + '/../../data_fixtures/private.key',
11 10
           'key_secret' => 'notasecret',
@@ -21,17 +20,19 @@ describe Agents::GoogleCalendarPublishAgent, :vcr do
21 20
     it 'should publish any payload it receives' do
22 21
       event1 = Event.new
23 22
       event1.agent = agents(:bob_manual_event_agent)
24
-      event1.payload = { 
25
-        'visibility' => 'default',
26
-        'summary' => "Awesome event",
27
-        'description' => "An example event with text. Pro tip: DateTimes are in RFC3339",
28
-        'end' => {
29
-          'dateTime' => '2014-10-02T11:00:00-05:00'
30
-        },
31
-        'start' => {
32
-          'dateTime' => '2014-10-02T10:00:00-05:00'
33
-        }       
34
-      }
23
+      event1.payload = {
24
+      	'message' => { 
25
+	        'visibility' => 'default',
26
+	        'summary' => "Awesome event",
27
+	        'description' => "An example event with text. Pro tip: DateTimes are in RFC3339",
28
+	        'end' => {
29
+	          'dateTime' => '2014-10-02T11:00:00-05:00'
30
+	        },
31
+	        'start' => {
32
+	          'dateTime' => '2014-10-02T10:00:00-05:00'
33
+	        }       
34
+	      }
35
+	    }
35 36
       event1.save!
36 37
 
37 38
       @checker.receive([event1])